package com.example.mapper;

import com.example.model.UserInfo;
import org.apache.ibatis.annotations.Mapper; // MyBatis注解：标识这是一个Mapper接口
import org.apache.ibatis.annotations.Select; // MyBatis注解：表示该方法对应一个SELECT查询
import java.util.List;

@Mapper // 关键注解：Spring在启动时会自动扫描该接口，并为其生成动态代理实现类，然后注册到IoC容器中。
public interface UserInfoMapper {

    /**
     * 查询所有用户信息
     * @return 用户信息列表
     */
    @Select("select * from user_info")
    // @Select注解：定义了执行该方法的SQL语句。
    // 由于配置了map-underscore-to-camel-case=true，结果会自动映射到UserInfo对象的属性。
    List<UserInfo> selectAll();
}